#include "CGIVulkanContext.h"
#include "CGIVulkanMemory.h"
#include "CGIVulkanDevice.h"
#include "CGIVulkanCommandBuffer.h"
#include "CGIVulkanViewport.h"
#include "Runtime/CGI/CGIResource.h"

namespace Alice{
    CGIVulkanCommandListContext::CGIVulkanCommandListContext(CGIVulkan* InRHI, CGIVulkanDevice* InDevice, CGIVulkanQueue* InQueue, CGIVulkanCommandListContext* InImmediate)
        :mRHI(InRHI),
        mDevice(InDevice),
        mQueue(InQueue),
        mImmediate(InImmediate)
    {
        mCommandBufferManager = new CGIVulkanCommandBufferManager(InDevice, this);
        mCommandBufferManager->Init(this);
    }
    void CGIVulkanCommandListContext::RHIBeginDrawingViewport(CGIViewport*inViewport,CGITexture*inCGITexture)
    {
        CGIVulkanViewport*viewport=(CGIVulkanViewport*)inViewport;
        
    }
    void CGIVulkanCommandListContext::RHIBeginRenderPass(const CGIRenderPassInfo* InInfo, const TCHAR* InName)
    {
        
    }

    CGIVulkanCommandListContextImmediate::CGIVulkanCommandListContextImmediate(CGIVulkan* InRHI, CGIVulkanDevice* InDevice, CGIVulkanQueue* InQueue):
        CGIVulkanCommandListContext(InRHI,InDevice,InQueue,this)
    {
        
    }

}
